var templateParamManager = {
    searchUrl: "/generate/hzbgtemplateparam/pageFindAll",
    saveUrl: "/generate/hzbgtemplateparam/save",
    editUrl: "/generate/hzbgtemplateparam/edit",
    removeUrl: "/generate/hzbgtemplateparam/remove",
    templateParamInfoLayer: null,
    isAdd: false,
    templateParamTable: null,
    hbgtId: null,
    init: function () {
        layui.use(['table', 'util', 'layer', 'form'], function () {
            templateParamManager.refreshTable();
            layui.form.on('submit(templateParamSearch)', templateParamManager.search);
        });
    },

    // 刷新表格
    refreshTable: function () {
        templateParamManager.templateParamTable = hs_utils.renderPageTable(templateParamManager.tableConfig(), templateParamManager.eventConfig());
    },

    // 打开模板信息窗口
    openFormLayer: function () {
        templateParamManager.templateParamInfoLayer = layui.layer.open({
            type: 1,
            title: '参数信息',
            area: ["450px", "350px"],
            content: $("#templateParamDiv")
        });
        layui.form.on('submit(templateParamSave)', templateParamManager.submit)
    }
    ,

    // 提交数据
    submit: function (data) {
        let url_ = templateParamManager.editUrl;
        if (templateParamManager.isAdd) {
            url_ = templateParamManager.saveUrl;
        }
        if (!templateParamManager.hbgtId) {
            layui.layer.msg("请先选择模板！");
            return false;
        }
        data.field.hbgtId = templateParamManager.hbgtId;
        hs_utils.post(url_, data.field, function (data) {
            if (data.success) {
                layui.layer.close(templateParamManager.templateParamInfoLayer);
                layui.layer.msg("操作成功！");
                templateParamManager.reloadTable();
            } else {
                layui.layer.msg(data.msg);
            }
        });
        return false; //阻止表单跳转。如果需要表单跳转，去掉这段即可。
    }
    ,

    // 删除
    remove: function (hbgtpId) {
        hs_utils.post(templateParamManager.removeUrl, {hbgtpId: hbgtpId}, function (data) {
            if (data.success) {
                layui.layer.msg("操作成功！");
                templateParamManager.reloadTable();
            } else {
                layui.layer.msg(data.msg);
            }
        });
    },

    // 查询
    search: function (data) {
        data.field.hbgtId = templateParamManager.hbgtId;
        templateParamManager.reloadTable(data.field);
        return false;
    },

    // 重载表格
    reloadTable: function (data) {
        if (data) {
            templateParamManager.hbgtId = data.hbgtId;
            templateParamManager.templateParamTable.reload({
                where: data
            });
        } else {
            templateParamManager.templateParamTable.reload();
        }
    },

    // 表格参数
    tableConfig: function () {
        return {
            elem: '#templateParamTable',
            url: templateParamManager.searchUrl, //数据接口
            toolbar: '#templateParamTableToolBar',
            height: 600,
            cols: [[ //表头
                {field: 'paramName', title: '参数名称', align: "center"},
                {field: 'paramFlag', title: '参数标志', align: "center", width: 90},
                {
                    field: 'required', title: '必须', align: "center", width: 60,
                    templet: function (d) {
                        if (d.required == 1) {
                            return "是";
                        } else if (d.required == 2) {
                            return "否";
                        }
                    }
                },
                {field: 'sortNum', title: '排序', align: "center", width: 60},
                {
                    field: 'hbgtpId', title: '操作', align: "center", width: 90,
                    toolbar: "#templateParamTableItemToolBar"
                }
            ]]
        };
    },

    // 表格事件参数
    eventConfig: function () {
        return {
            filter: 'templateParamTable',
            toolbar: [
                {
                    name: 'add', handler: function (obj) {
                        $('#templateParamForm')[0].reset();
                        templateParamManager.isAdd = true;
                        templateParamManager.openFormLayer();
                    }
                }
            ],
            tool: [
                {
                    name: 'remove', handler: function (obj) {
                        layui.layer.confirm('真的删除行么', function (index) {
                            layui.layer.close(index);
                            //向服务端发送删除指令
                            templateParamManager.remove(obj.data.hbgtpId);
                        });
                    }
                },
                {
                    name: 'edit', handler: function (obj) {
                        layui.form.val('templateParamForm', obj.data);
                        templateParamManager.isAdd = false;
                        templateParamManager.openFormLayer();
                    }
                }
            ]
        };
    }
}
templateParamManager.init();